package com.ruoyi.mes.utils;

import com.ruoyi.mes.vo.device.AvgUDPVo;

import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;

/**
 * Avg小车工具类
 */
public class AvgUtils {

    /**
     * 派遣Avg小车:前进
     * @return
     */
    public static void DispatchAvg(){
        try {
            AvgUDPVo avgUDPVo = new AvgUDPVo();
            avgUDPVo.setAddress("192.168.1.10");
            avgUDPVo.setPort(5000);
            avgUDPVo.setRequestData("<ss>");//这里也可以修改成后退

            // 创建DatagramSocket对象
            DatagramSocket socket = new DatagramSocket();
            // 定义AVG小车的IP地址和端口号
            InetAddress address = InetAddress.getByName(avgUDPVo.getAddress());

            int port = avgUDPVo.getPort();
            // 构造要发送的数据
            String requestData = avgUDPVo.getRequestData();
            byte[] requestDataBytes = requestData.getBytes();
            // 创建DatagramPacket对象，包含要发送的数据、目标IP地址和端口号
            DatagramPacket packet = new DatagramPacket(requestDataBytes, requestDataBytes.length, address, port);
            // 发送数据
            socket.send(packet);
            // 关闭socket
            socket.close();

        } catch (Exception e) {
            e.printStackTrace();
        }
    }

}
